from config import host
from common.init_log_config import init_log_config
import logging
from config import session


class ApiApproveTrust:

    # 定义初始化函数（该函数在类进行实例化时自动被调用和执行）
    def __init__(self,):
        # 认证url
        self.url_approve = host + "/member/realname/approverealname"
        # 查询认证状态url
        self.url_approve_status = host + "/member/member/getapprove"
        # 开户url
        self.url_trust = host + "/trust/trust/register"
        # 图⽚验证码url
        self.url_img_code = host + "/common/public/verifycode/{}"
        # 充值url
        self.url_recharge = host + "/trust/trust/recharge"

    # 1、实名认证接口 封装
    def api_approve(self, realname="张三", card_id="350102199003072237"):
        # 1、请求参数
        data = {"realname": realname,"card_id": card_id}
        # 2、调用请求方法 难题：multipart/form-data使用：data+files来实现多消息体类型
        logging.info("正在调用实名认证接口，请求方法：{}, 请求URL:{},请求参数:{}".format("post", self.url_approve, data))
        return session.post(url=self.url_approve, data=data, files={"x": "y"})

    # 2、查询实名认证状态接口 封装
    def api_approve_status(self):
        # 调用请求方法
        logging.info("正在调用查询实名认证状态接口，请求方法：{}, 请求URL:{}".format("post", self.url_approve_status))
        return session.post(url=self.url_approve_status)

    # 3、开户接口 封装
    def api_trust(self):
        # 调用请求方法
        logging.info("正在调用开户接口，请求方法：{}, 请求URL:{}".format("post", self.url_trust))
        return session.post(url=self.url_trust)

    # 4、获取充值验证码接口 封装
    def api_img_code(self, random=0.123456):
        # 调用请求方法
        logging.info("正在调用获取充值验证码接口，请求方法：{}, 请求URL:{}".format("get", self.url_img_code.format(random)))
        return session.get(url=self.url_img_code.format(random))

    # 5-充值接口 封装
    def api_recharge(self, paymentType="chinapnrTrust", amount="1000", formStr="reForm",valicode="8888"):
        # 1、请求参数
        data = {
            "paymentType": paymentType,
            "amount": amount,
            "formStr": formStr,
            "valicode": valicode
        }
        # 2、调用请求方法
        logging.info("正在调用充值认证接口，请求方法：{}, 请求URL:{},请求参数:{}".format("post", self.url_recharge, data))
        return session.post(url=self.url_recharge, data=data)
